[INFO] cloning repository https://github.com/cgorski/congress-appropriations
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cgorski/congress-appropriations" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcgorski%2Fcongress-appropriations", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcgorski%2Fcongress-appropriations'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3d316ae9f3225ab337a28ccfb725aca63e908957
[INFO] testing cgorski/congress-appropriations against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcgorski%2Fcongress-appropriations" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  20% (101/498)
Updating files:  21% (105/498)
Updating files:  22% (110/498)
Updating files:  23% (115/498)
Updating files:  24% (120/498)
Updating files:  24% (121/498)
Updating files:  25% (125/498)
Updating files:  26% (130/498)
Updating files:  27% (135/498)
Updating files:  28% (140/498)
Updating files:  29% (145/498)
Updating files:  30% (150/498)
Updating files:  31% (155/498)
Updating files:  32% (160/498)
Updating files:  33% (165/498)
Updating files:  34% (170/498)
Updating files:  35% (175/498)
Updating files:  36% (180/498)
Updating files:  37% (185/498)
Updating files:  38% (190/498)
Updating files:  39% (195/498)
Updating files:  40% (200/498)
Updating files:  41% (205/498)
Updating files:  42% (210/498)
Updating files:  43% (215/498)
Updating files:  43% (218/498)
Updating files:  44% (220/498)
Updating files:  45% (225/498)
Updating files:  46% (230/498)
Updating files:  47% (235/498)
Updating files:  48% (240/498)
Updating files:  49% (245/498)
Updating files:  50% (249/498)
Updating files:  51% (254/498)
Updating files:  52% (259/498)
Updating files:  53% (264/498)
Updating files:  54% (269/498)
Updating files:  55% (274/498)
Updating files:  56% (279/498)
Updating files:  57% (284/498)
Updating files:  58% (289/498)
Updating files:  58% (293/498)
Updating files:  59% (294/498)
Updating files:  60% (299/498)
Updating files:  61% (304/498)
Updating files:  62% (309/498)
Updating files:  63% (314/498)
Updating files:  64% (319/498)
Updating files:  65% (324/498)
Updating files:  66% (329/498)
Updating files:  67% (334/498)
Updating files:  68% (339/498)
Updating files:  69% (344/498)
Updating files:  70% (349/498)
Updating files:  71% (354/498)
Updating files:  72% (359/498)
Updating files:  73% (364/498)
Updating files:  74% (369/498)
Updating files:  75% (374/498)
Updating files:  76% (379/498)
Updating files:  77% (384/498)
Updating files:  78% (389/498)
Updating files:  79% (394/498)
Updating files:  80% (399/498)
Updating files:  81% (404/498)
Updating files:  82% (409/498)
Updating files:  82% (411/498)
Updating files:  83% (414/498)
Updating files:  84% (419/498)
Updating files:  85% (424/498)
Updating files:  86% (429/498)
Updating files:  87% (434/498)
Updating files:  88% (439/498)
Updating files:  89% (444/498)
Updating files:  90% (449/498)
Updating files:  91% (454/498)
Updating files:  92% (459/498)
Updating files:  93% (464/498)
Updating files:  94% (469/498)
Updating files:  95% (474/498)
Updating files:  96% (479/498)
Updating files:  97% (484/498)
Updating files:  98% (489/498)
Updating files:  99% (494/498)
Updating files: 100% (498/498)
Updating files: 100% (498/498), done.
[INFO] started tweaking git repo https://github.com/cgorski/congress-appropriations
[INFO] finished tweaking git repo https://github.com/cgorski/congress-appropriations
[INFO] tweaked toml for git repo https://github.com/cgorski/congress-appropriations written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cgorski/congress-appropriations on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cgorski/congress-appropriations already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] efc6daa61d54e767e72c334031e49bb4b62f39b79e670e3f42429a7a6d79f9f5
[INFO] running `Command { std: "docker" "start" "-a" "efc6daa61d54e767e72c334031e49bb4b62f39b79e670e3f42429a7a6d79f9f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "efc6daa61d54e767e72c334031e49bb4b62f39b79e670e3f42429a7a6d79f9f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "efc6daa61d54e767e72c334031e49bb4b62f39b79e670e3f42429a7a6d79f9f5", kill_on_drop: false }`
[INFO] [stdout] efc6daa61d54e767e72c334031e49bb4b62f39b79e670e3f42429a7a6d79f9f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e9f65e2df482ff9fa29b1a8b30ff9075bac9eed9038a468f98290d6f9c55577b
[INFO] running `Command { std: "docker" "start" "-a" "e9f65e2df482ff9fa29b1a8b30ff9075bac9eed9038a468f98290d6f9c55577b", kill_on_drop: false }`
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling roxmltree v0.21.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling ulid v1.2.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling congress-appropriations v6.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 17s
[INFO] running `Command { std: "docker" "inspect" "e9f65e2df482ff9fa29b1a8b30ff9075bac9eed9038a468f98290d6f9c55577b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9f65e2df482ff9fa29b1a8b30ff9075bac9eed9038a468f98290d6f9c55577b", kill_on_drop: false }`
[INFO] [stdout] e9f65e2df482ff9fa29b1a8b30ff9075bac9eed9038a468f98290d6f9c55577b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 14d36da7549034adac271f0874fe97295d29578db21a5fa0724b200e3bb40f4a
[INFO] running `Command { std: "docker" "start" "-a" "14d36da7549034adac271f0874fe97295d29578db21a5fa0724b200e3bb40f4a", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling congress-appropriations v6.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `preamble_len`
[INFO] [stdout]    --> src/approp/text_index.rs:532:13
[INFO] [stdout]     |
[INFO] [stdout] 532 |         let preamble_len = text.len();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preamble_len`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 32.10s
[INFO] running `Command { std: "docker" "inspect" "14d36da7549034adac271f0874fe97295d29578db21a5fa0724b200e3bb40f4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14d36da7549034adac271f0874fe97295d29578db21a5fa0724b200e3bb40f4a", kill_on_drop: false }`
[INFO] [stdout] 14d36da7549034adac271f0874fe97295d29578db21a5fa0724b200e3bb40f4a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 912c04228833f47212556eb3c1d651313b564673fe73087e9b460c3128562914
[INFO] running `Command { std: "docker" "start" "-a" "912c04228833f47212556eb3c1d651313b564673fe73087e9b460c3128562914", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `preamble_len`
[INFO] [stderr]    --> src/approp/text_index.rs:532:13
[INFO] [stderr]     |
[INFO] [stderr] 532 |         let preamble_len = text.len();
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preamble_len`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `congress-appropriations` (lib test) generated 1 warning (run `cargo fix --lib -p congress-appropriations --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/congress_appropriations-b9834f20e9f96582)
[INFO] [stdout] 
[INFO] [stdout] running 204 tests
[INFO] [stdout] test api::anthropic::builder::tests::builder_with_cached_system ... ok
[INFO] [stdout] test api::anthropic::builder::tests::builder_with_thinking ... ok
[INFO] [stdout] test api::congress::types::tests::bill_id_display_and_api_path ... ok
[INFO] [stdout] test api::congress::types::tests::bill_type_can_appropriate ... ok
[INFO] [stdout] test api::congress::types::tests::bill_type_deserialize_case_insensitive ... ok
[INFO] [stdout] test api::congress::types::tests::bill_type_slug_roundtrip ... ok
[INFO] [stdout] test api::congress::types::tests::congress_display ... ok
[INFO] [stdout] test api::congress::types::tests::congress_serde_roundtrip ... ok
[INFO] [stdout] test api::congress::types::tests::congress_valid_range ... ok
[INFO] [stdout] test api::congress::types::tests::version_code_basics ... ok
[INFO] [stdout] test approp::authority::tests::test_build_timeline_groups_by_fy ... ok
[INFO] [stdout] test approp::authority::tests::test_build_timeline_sums_same_fy ... ok
[INFO] [stdout] test approp::authority::tests::test_classify_case_only ... ok
[INFO] [stdout] test api::anthropic::builder::tests::serialization_skips_none_fields ... ok
[INFO] [stdout] test approp::authority::tests::test_empty_timeline ... ok
[INFO] [stdout] test approp::authority::tests::test_classify_prefix_variants ... ok
[INFO] [stdout] test approp::authority::tests::test_normalize_variant_name ... ok
[INFO] [stdout] test approp::authority::tests::test_classify_real_rename ... ok
[INFO] [stdout] test approp::authority::tests::test_get_authority_exact ... ok
[INFO] [stdout] test approp::authority::tests::test_name_variants_same_name_one_variant ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_defense ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_cjs ... ok
[INFO] [stdout] test api::anthropic::builder::tests::builder_with_document ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_energy_water ... ok
[INFO] [stdout] test api::anthropic::builder::tests::basic_builder ... ok
[INFO] [stdout] test approp::authority::tests::test_search_authorities ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_cr ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_extenders ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_labor_hhs ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_legislative_branch ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_health_standalone ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_interior ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_agriculture ... ok
[INFO] [stdout] test approp::authority::tests::test_name_variants_detected ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_bill_nature_full_year_cr ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_milcon_va ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_other_matters ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_state_foreign_ops ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_thud ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_unknown_supplemental ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_jurisdiction_financial_services ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_jurisdiction_slug_roundtrip ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_normalize_account_name_em_dash ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_normalize_account_name_en_dash ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_normalize_account_name_multi_prefix ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_normalize_account_name_case_variants ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_normalize_account_name_plain ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_parse_congress_from_filename ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_timing_advance ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_timing_current_year_start_of_fy ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_extract_availability_fy_october_1 ... ok
[INFO] [stdout] test approp::cache::tests::test_compute_cache_key_differs_for_different_paths ... ok
[INFO] [stdout] test approp::embeddings::tests::load_missing_returns_none ... ok
[INFO] [stdout] test approp::cache::tests::test_compute_cache_key_deterministic ... ok
[INFO] [stdout] test approp::embeddings::tests::test_cosine_similarity_identical ... ok
[INFO] [stdout] test approp::embeddings::tests::test_cosine_similarity_orthogonal ... ok
[INFO] [stdout] test approp::embeddings::tests::test_top_n_similar ... ok
[INFO] [stdout] test approp::embeddings::tests::test_top_n_with_exclude ... ok
[INFO] [stdout] test approp::extraction::tests::extract_json_fails_on_plain_text ... ok
[INFO] [stdout] test approp::extraction::tests::extract_json_from_code_block ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_save_load_roundtrip ... ok
[INFO] [stdout] test approp::extraction::tests::extract_json_raw ... ok
[INFO] [stdout] test approp::extraction::tests::token_tracker_default ... ok
[INFO] [stdout] test approp::extraction::tests::token_tracker_record ... ok
[INFO] [stdout] test approp::from_value::tests::parse_appropriation_provision ... ok
[INFO] [stdout] test approp::from_value::tests::parse_dollar_amount_with_string_coercion ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_timing_supplemental_from_notes ... ok
[INFO] [stdout] test approp::from_value::tests::parse_minimal_extraction ... ok
[INFO] [stdout] test approp::cache::tests::test_compute_data_hash_deterministic ... ok
[INFO] [stdout] test approp::cache::tests::test_clear_cache ... ok
[INFO] [stdout] test approp::from_value::tests::parse_missing_root_field_returns_error ... ok
[INFO] [stdout] test approp::inflation::tests::test_fiscal_year_cpi_full_year ... ok
[INFO] [stdout] test approp::from_value::tests::parse_unknown_provision_type ... ok
[INFO] [stdout] test approp::inflation::tests::test_fiscal_year_cpi_missing ... ok
[INFO] [stdout] test approp::inflation::tests::test_flag_inflation_erosion ... ok
[INFO] [stdout] test approp::inflation::tests::test_fiscal_year_cpi_partial ... ok
[INFO] [stdout] test approp::inflation::tests::test_flag_none_nominal ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_timing_first_quarter_advance ... ok
[INFO] [stdout] test approp::inflation::tests::test_flag_real_cut ... ok
[INFO] [stdout] test approp::inflation::tests::test_flag_real_increase ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_extract_availability_fy_no_match ... ok
[INFO] [stdout] test approp::inflation::tests::test_flag_unchanged ... ok
[INFO] [stdout] test approp::cache::tests::test_find_by_hash ... ok
[INFO] [stdout] test approp::cache::tests::test_read_missing_returns_none ... ok
[INFO] [stdout] test approp::inflation::tests::test_inflation_context ... ok
[INFO] [stdout] test approp::inflation::tests::test_real_delta_pct_erosion ... ok
[INFO] [stdout] test approp::inflation::tests::test_real_delta_pct_zero_inflation ... ok
[INFO] [stdout] test approp::cache::tests::test_write_read_roundtrip ... ok
[INFO] [stdout] test approp::embeddings::tests::save_load_roundtrip ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_extract_availability_fy_first_quarter ... ok
[INFO] [stdout] test approp::cache::tests::test_read_any_suggestions ... ok
[INFO] [stdout] test approp::inflation::tests::test_save_load_roundtrip ... ok
[INFO] [stdout] test approp::inflation::tests::test_load_bundled ... ok
[INFO] [stdout] test approp::inflation::tests::test_real_delta_pct ... ok
[INFO] [stdout] test approp::links::tests::test_accept_links_auto ... ok
[INFO] [stdout] test approp::inflation::tests::test_inflation_flag_display ... ok
[INFO] [stdout] test approp::links::tests::test_accept_links_manual ... ok
[INFO] [stdout] test approp::inflation::tests::test_inflation_flag_slug ... ok
[INFO] [stdout] test approp::links::tests::test_link_confidence_display ... ok
[INFO] [stdout] test approp::links::tests::test_accept_skips_duplicates ... ok
[INFO] [stdout] test approp::links::tests::test_link_relationship_display ... ok
[INFO] [stdout] test approp::links::tests::test_link_scope_from_str ... ok
[INFO] [stdout] test approp::links::tests::test_links_file_new ... ok
[INFO] [stdout] test approp::links::tests::test_remove_links ... ok
[INFO] [stdout] test approp::normalize::tests::test_check_preposition_variant ... ok
[INFO] [stdout] test approp::normalize::tests::test_check_us_abbreviation ... ok
[INFO] [stdout] test approp::normalize::tests::test_compute_suggestion_hash_deterministic ... ok
[INFO] [stdout] test approp::normalize::tests::test_compute_suggestion_hash_differs ... ok
[INFO] [stdout] test approp::normalize::tests::test_compute_suggestion_hash_order_independent ... ok
[INFO] [stdout] test approp::normalize::tests::test_merge_groups_into_existing ... ok
[INFO] [stdout] test approp::normalize::tests::test_merge_groups_new ... ok
[INFO] [stdout] test approp::normalize::tests::test_load_missing_returns_none ... ok
[INFO] [stdout] test approp::normalize::tests::test_normalize_account_em_dash_stripping ... ok
[INFO] [stdout] test approp::normalize::tests::test_normalize_account_with_alias ... ok
[INFO] [stdout] test approp::normalize::tests::test_normalize_agency_empty_groups ... ok
[INFO] [stdout] test approp::links::tests::test_save_load_roundtrip ... ok
[INFO] [stdout] test approp::normalize::tests::test_check_prefix_expansion ... ok
[INFO] [stdout] test approp::normalize::tests::test_normalize_agency_no_group ... ok
[INFO] [stdout] test approp::query::tests::test_audit_empty ... ok
[INFO] [stdout] test approp::query::tests::test_build_embedding_text_appropriation ... ok
[INFO] [stdout] test approp::normalize::tests::test_normalize_agency_with_group ... ok
[INFO] [stdout] test approp::query::tests::test_compute_quality_moderate ... ok
[INFO] [stdout] test approp::loading::tests::find_bill_sources_falls_back_to_txt ... ok
[INFO] [stdout] test approp::query::tests::test_compute_quality_na ... ok
[INFO] [stdout] test approp::loading::tests::find_bill_sources_keeps_all_if_no_enrolled ... ok
[INFO] [stdout] test approp::query::tests::test_build_embedding_text_directive_no_account ... ok
[INFO] [stdout] test approp::query::tests::test_compare_empty ... ok
[INFO] [stdout] test approp::query::tests::test_compute_quality_strong ... ok
[INFO] [stdout] test approp::query::tests::test_compute_quality_weak ... ok
[INFO] [stdout] test approp::query::tests::test_describe_bills_empty ... ok
[INFO] [stdout] test approp::loading::tests::find_bill_sources_prefers_enrolled_over_other_versions ... ok
[INFO] [stdout] test approp::loading::tests::find_bill_texts_filters_correctly ... ok
[INFO] [stdout] test approp::query::tests::test_extract_parent_department_oig_exception ... ok
[INFO] [stdout] test approp::query::tests::test_extract_parent_department_with_comma ... ok
[INFO] [stdout] test approp::query::tests::test_extract_parent_department_simple ... ok
[INFO] [stdout] test approp::loading::tests::find_bill_sources_prefers_xml ... ok
[INFO] [stdout] test approp::query::tests::test_normalize_account_name_case_insensitive ... ok
[INFO] [stdout] test approp::query::tests::test_normalize_account_name_plain ... ok
[INFO] [stdout] test approp::loading::tests::load_bills_empty_dir ... ok
[INFO] [stdout] test approp::query::tests::test_normalize_account_name_with_em_dash ... ok
[INFO] [stdout] test approp::query::tests::test_normalize_account_name_with_en_dash ... ok
[INFO] [stdout] test approp::query::tests::test_normalize_agency_lowercases ... ok
[INFO] [stdout] test approp::query::tests::test_normalize_agency_passthrough ... ok
[INFO] [stdout] test approp::query::tests::test_normalize_agency_no_implicit_mapping ... ok
[INFO] [stdout] test approp::query::tests::test_normalize_agency_with_explicit_groups ... ok
[INFO] [stdout] test approp::query::tests::test_search_empty ... ok
[INFO] [stdout] test approp::query::tests::test_search_filter_default_is_permissive ... ok
[INFO] [stdout] test approp::query::tests::test_rollup_by_department_empty ... ok
[INFO] [stdout] test approp::query::tests::test_summarize_empty ... ok
[INFO] [stdout] test approp::links::tests::test_load_missing_returns_none ... ok
[INFO] [stdout] test approp::staleness::tests::check_empty_bills ... ok
[INFO] [stdout] test approp::staleness::tests::display_embeddings_stale ... ok
[INFO] [stdout] test approp::staleness::tests::display_extraction_stale ... ok
[INFO] [stdout] test approp::loading::tests::load_bills_finds_extraction ... ok
[INFO] [stdout] test approp::staleness::tests::file_sha256_not_found ... ok
[INFO] [stdout] test approp::staleness::tests::display_bill_meta_stale ... ok
[INFO] [stdout] test approp::tas::tests::test_agency_name_to_code ... ok
[INFO] [stdout] test approp::normalize::tests::test_dataset_file_roundtrip ... ok
[INFO] [stdout] test approp::tas::tests::test_agency_code_dod_branch_from_account ... ok
[INFO] [stdout] test approp::tas::tests::test_build_mapping_file_summary ... ok
[INFO] [stdout] test approp::staleness::tests::file_sha256_works ... ok
[INFO] [stdout] test approp::tas::tests::test_contains_code ... ok
[INFO] [stdout] test approp::tas::tests::test_match_miss ... ok
[INFO] [stdout] test approp::tas::tests::test_match_suffix_emdash ... ok
[INFO] [stdout] test approp::tas::tests::test_parse_llm_response_valid ... ok
[INFO] [stdout] test approp::tas::tests::test_match_with_agency_disambiguation ... ok
[INFO] [stdout] test approp::tas::tests::test_match_unique_name ... ok
[INFO] [stdout] test approp::tas::tests::test_parse_llm_response_with_markdown ... ok
[INFO] [stdout] test approp::tas::tests::test_salaries_and_expenses_no_false_positive ... ok
[INFO] [stdout] test approp::tas::tests::test_salaries_and_expenses_without_agency_is_ambiguous ... ok
[INFO] [stdout] test approp::tas::tests::test_short_title ... ok
[INFO] [stdout] test approp::text_index::tests::test_build_chunks_splits_divisions ... ok
[INFO] [stdout] test approp::tas::tests::test_resolve_deterministic_produces_mappings ... ok
[INFO] [stdout] test approp::text_index::tests::test_build_chunks_no_divisions ... ok
[INFO] [stdout] test approp::tas::tests::test_strip_emdash_prefix ... ok
[INFO] [stdout] test approp::text_index::tests::test_build_chunks_splits_titles ... ok
[INFO] [stdout] test approp::text_index::tests::test_build_text_index ... ok
[INFO] [stdout] test approp::text_index::tests::test_find_divisions_no_divisions ... ok
[INFO] [stdout] test approp::bill_meta::tests::test_classify_timing_default ... ok
[INFO] [stdout] test approp::text_index::tests::test_find_divisions_skips_toc ... ok
[INFO] [stdout] test approp::text_index::tests::test_find_section_headers ... ok
[INFO] [stdout] test approp::text_index::tests::test_find_dollar_amounts ... ok
[INFO] [stdout] test approp::text_repair::tests::test_build_position_map_preserves_length ... ok
[INFO] [stdout] test approp::text_index::tests::test_split_at_paragraphs ... ok
[INFO] [stdout] test approp::text_repair::tests::test_normalized_repair_curly_quotes ... ok
[INFO] [stdout] test approp::text_repair::tests::test_empty_raw_text ... ok
[INFO] [stdout] test approp::text_index::tests::test_find_divisions_short_heading ... ok
[INFO] [stdout] test approp::text_repair::tests::test_exact_match ... ok
[INFO] [stdout] test approp::text_repair::tests::test_prefix_repair_clause_vs_subsection ... ok
[INFO] [stdout] test approp::verification::tests::test_normalize_combined ... ok
[INFO] [stdout] test approp::text_repair::tests::test_span_invariant ... ok
[INFO] [stdout] test approp::text_repair::tests::test_substring_repair_generic_prefix ... ok
[INFO] [stdout] test approp::text_repair::tests::test_unfindable_text ... ok
[INFO] [stdout] test approp::verification::tests::test_normalize_for_comparison ... ok
[INFO] [stdout] test approp::xml::tests::test_clean_extracted_text ... ok
[INFO] [stdout] test approp::xml::tests::test_parse_minimal_xml ... ok
[INFO] [stdout] test approp::xml::tests::test_extract_text_with_quotes ... ok
[INFO] [stdout] test approp::xml::tests::test_parse_with_dtd ... ok
[INFO] [stdout] test approp::text_repair::tests::test_normalized_repair_newline_vs_space ... ok
[INFO] [stdout] test approp::xml::tests::test_parse_xml_with_divisions ... ok
[INFO] [stdout] test approp::xml::tests::test_find_text_content ... ok
[INFO] [stdout] test approp::verification::tests::test_spaceless ... ok
[INFO] [stdout] test approp::cache::tests::test_compute_data_hash_changes_on_new_file ... ok
[INFO] [stdout] test approp::cache::tests::test_cache_invalidation ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/congress_approp-c2611045c16dfc9e)
[INFO] [stdout] test result: ok. 204 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_tests.rs (/opt/rustwide/target/debug/deps/cli_tests-4fb4f4799107f6e9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test compare_orphan_hint ... ok
[INFO] [stdout] test enrich_creates_bill_meta ... ok
[INFO] [stdout] test audit_empty_dir_no_crash ... ok
[INFO] [stdout] test extract_dry_run_works_without_api_key ... ok
[INFO] [stdout] test enrich_dry_run_writes_nothing ... ok
[INFO] [stdout] test compare_cross_type_shows_warning ... ok
[INFO] [stdout] test enrich_force_re_enriches ... ok
[INFO] [stdout] test link_list_empty_no_crash ... ok
[INFO] [stdout] test link_full_workflow ... ok
[INFO] [stdout] test audit_report_alias_works ... ok
[INFO] [stdout] test normalize_list_without_dataset ... ok
[INFO] [stdout] test audit_shows_zero_not_found ... ok
[INFO] [stdout] test normalize_list_with_dataset ... ok
[INFO] [stdout] test link_suggest_invalid_scope ... ok
[INFO] [stdout] test compare_requires_base_and_current ... ok
[INFO] [stdout] test example_data_has_schema_version ... ok
[INFO] [stdout] test compare_same_type_no_warning ... ok
[INFO] [stdout] test search_appropriations_returns_results ... ok
[INFO] [stdout] test search_cr_substitution_table_format ... ok
[INFO] [stdout] test search_csv_has_correct_headers ... ok
[INFO] [stdout] test search_csv_new_columns_populated ... ok
[INFO] [stdout] test search_csv_stderr_warns_mixed_semantics ... ok
[INFO] [stdout] test search_empty_result_no_error ... ok
[INFO] [stdout] test link_accept_auto ... ok
[INFO] [stdout] test search_json_has_correct_fields ... ok
[INFO] [stdout] test search_shows_ambiguous_marker ... ok
[INFO] [stdout] test search_unknown_type_warns ... ok
[INFO] [stdout] test budget_authority_totals_match_expected ... ok
[INFO] [stdout] test compare_base_fy_current_fy ... ok
[INFO] [stdout] test summary_empty_dir_no_crash ... ok
[INFO] [stdout] test subcommittee_without_enrich_gives_clear_error ... ok
[INFO] [stdout] test summary_json_is_valid ... ok
[INFO] [stdout] test compare_case_insensitive_grants_in_aid ... ok
[INFO] [stdout] test compare_exact_no_normalization ... ok
[INFO] [stdout] test summary_table_runs_successfully ... ok
[INFO] [stdout] test summary_table_shows_fiscal_years ... ok
[INFO] [stdout] test search_fy_filter_excludes_other_years ... ok
[INFO] [stdout] test budget_totals_unchanged_after_phase1 ... ok
[INFO] [stdout] test enrich_skips_existing ... ok
[INFO] [stdout] test compare_csv_has_normalized_column ... ok
[INFO] [stdout] test relate_invalid_reference ... FAILED
[INFO] [stdout] test subcommittee_invalid_slug_gives_error ... ok
[INFO] [stdout] test summary_show_advance_milcon_va ... ok
[INFO] [stdout] test summary_fy_filter_narrows_bills ... ok
[INFO] [stdout] test summary_subcommittee_filter ... ok
[INFO] [stdout] test relate_with_fy_timeline ... FAILED
[INFO] [stdout] test relate_table_output ... FAILED
[INFO] [stdout] test relate_hashes_output ... FAILED
[INFO] [stdout] test relate_json_output ... ok
[INFO] [stdout] test normalize_suggest_text_match_outputs_hashes ... ok
[INFO] [stdout] test link_suggest_produces_candidates has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "912c04228833f47212556eb3c1d651313b564673fe73087e9b460c3128562914", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "912c04228833f47212556eb3c1d651313b564673fe73087e9b460c3128562914", kill_on_drop: false }`
[INFO] [stdout] 912c04228833f47212556eb3c1d651313b564673fe73087e9b460c3128562914
